今天看了iPlayground 2019 | 漫談 iOS 架構:MVC / MVVM / VIPER 與 Redux的影片赫然發現。
看完其他人對架構的看法,因為自己不是很確定自己的理解是不是全面的。知道了架構的演進過程,決定跟著框架的演化史走一輪。
影片連結
一直想學習 MVVM 跟 data binding,但是學習MVVM會碰壁。不是沒有原因的。
事實上 MVVM 的架構不難理解,但是他的關鍵點在於 Data binding。可以說是沒有 Data binding 就不是MVVM。
如果對架構 refactor 的過程沒有深刻的體會,是很難離解為什麼"架構"會是這個樣子。因此如果對於架構的理解不是那麼順利的話,或許你應該試著先選擇比較容易懂的架構學習,再慢慢體會Refactor的過程。
這是我架構的學習路線
graph LR;
MVC --> MVP --> MVVM
其實MVP 與 MVVM 是差異不大的架構,重點在於將不屬於 viewController 的事情拆解出來。但是 Rx 或是 binding 學習上有很長一段路要走。所以我採取漸進式的學習,先從 MVP 開始學習,專注於理解拆解的過程。等拆解的過程熟悉了,再專注於Data binding。
程式語言有很多技術都是照樣子的,套一句王魏說的話,
事實上,程式碼可以寫得很簡單,可以不套用很多的理論。
學習架構的目的是為了理解可以怎麼Refactor。
接下來的每一天,都會分享學習架構的歷程。
一起找尋最適合自己的架構吧。